(SW Expert Academy) 리스트, 튜플 - 6301번 6302번 6303번 6305번

24번 - 6301번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

3차원 배열

array_3d = [[[0 for a in range(4)] for b in range(3)] for c in range(2)]
print(array_3d)

25번 - 6302번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

enumerate()로 리스트의 인덱스 값을 받아 1, 5, 6번 값을 삭제(idx는 0부터 시작)

given_list = [12, 24, 35, 70, 88, 120, 155]
erased_list = [num for idx, num in enumerate(given_list) if idx!=0 and idx!=4 and idx!=5]
print(erased_list)

26번 - 6303번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

단순 2중 for문을 활용한 비교

list_1 = [1,3,6,78,35,55]
list_2 = [12,24,35,24,88,120,155]

ans = [num for num in list_1 for comp in list_2 if num==comp]
print(ans)

27번 - 6305번

  • 시간 : 1개 테스트케이스를 합쳐서 Python의 경우 1초
  • 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내

list comprehension 으로 한번에 해결 해보려고 list(set(..))을 사용해 봤지만, set() 함수는 순서가 없기 때문에 실패…

def remove_duplicated(duplicate_list):
has = []
for i in duplicate_list:
if i not in has:
has.append(i)
return has

given_list = [12,24,35,24,88,120,155,88,120,155]

print(remove_duplicated(given_list))